RAID là gì? Các loại RAID 0, 1, 5, 6, 10 dùng để làm gì?

RAID là gì?

RAID (Redundant Array of Independent Disks) là kỹ thuật kết hợp nhiều ổ đĩa vật lý thành một hệ thống lưu trữ logic nhằm đạt một hoặc nhiều mục tiêu như tăng hiệu năng, tăng khả năng chịu lỗi hoặc cân bằng giữa hiệu năng, dung lượng và mức độ bảo vệ dữ liệu.

Ví dụ, một server có:

4 × HDD 4 TB

thay vì hệ điều hành nhìn thấy bốn ổ riêng biệt, administrator có thể cấu hình chúng thành một RAID Array.

Tùy RAID level, hệ thống có thể hiển thị một logical drive với dung lượng và khả năng chịu lỗi khác nhau.

Điểm quan trọng là:

Không phải RAID nào cũng bảo vệ dữ liệu.

RAID 0 chẳng hạn, tập trung vào hiệu năng và dung lượng nhưng không có khả năng chịu lỗi ổ đĩa.

RAID là gì?

RAID là gì?

RAID hoạt động như thế nào?

RAID phân phối dữ liệu lên nhiều ổ đĩa bằng một hoặc nhiều kỹ thuật:

  • Striping;
  • Mirroring;
  • Parity.

Mỗi RAID level kết hợp các cơ chế này theo cách khác nhau.

Ví dụ:

RAID 0 → Striping

RAID 1 → Mirroring

RAID 5 → Striping + Single Parity

RAID 6 → Striping + Dual Parity

RAID 10 → Mirroring + Striping

Sự khác nhau này quyết định:

Performance + Usable Capacity + Fault Tolerance

Đây là ba yếu tố tôi thường cân nhắc đầu tiên khi thiết kế RAID cho server.

Striping là gì?

Striping là kỹ thuật chia dữ liệu thành các block và phân phối chúng trên nhiều ổ đĩa.

Ví dụ dữ liệu:

A – B – C – D

có thể được ghi:

Disk 1 → A, C

Disk 2 → B, D

Nhờ nhiều ổ có thể xử lý dữ liệu song song, hiệu năng có thể tăng.

RAID 0 sử dụng nguyên lý này.

Nhược điểm là nếu không có parity hoặc mirror, mất một ổ có thể khiến toàn bộ array không còn sử dụng được.

Mirroring là gì?

Mirroring tạo bản sao dữ liệu trên nhiều ổ.

Ví dụ RAID 1:

Disk 1 → DATA A

Disk 2 → DATA A

Nếu Disk 1 hỏng, hệ thống vẫn có thể đọc dữ liệu từ Disk 2.

Đổi lại, doanh nghiệp phải hy sinh một phần đáng kể dung lượng.

Ví dụ:

2 × 4 TB → RAID 1 → khoảng 4 TB usable

thay vì 8 TB raw.

Parity là gì?

Parity là thông tin bổ sung được tính toán từ dữ liệu và phân bố trong RAID Array để hỗ trợ tái tạo dữ liệu khi một số ổ đĩa bị lỗi.

RAID 5 sử dụng một lớp parity phân tán.

RAID 6 sử dụng hai lớp parity.

Nhờ đó RAID 5 và RAID 6 có hiệu quả dung lượng tốt hơn so với việc mirror toàn bộ dữ liệu.

Đổi lại, thao tác ghi phức tạp hơn vì hệ thống phải xử lý cả dữ liệu và parity.

RAID 0 là gì?

RAID 0 sử dụng Striping.

Yêu cầu tối thiểu:

2 ổ đĩa

Ví dụ:

2 × 4 TB → RAID 0 → khoảng 8 TB usable

Dữ liệu được phân bổ trên cả hai ổ.

Ưu điểm RAID 0

  • tận dụng gần như toàn bộ dung lượng;
  • hiệu năng đọc/ghi tuần tự có thể tăng;
  • kiến trúc đơn giản;
  • phù hợp với dữ liệu tạm hoặc workload ưu tiên tốc độ mà có lớp bảo vệ khác.

Nhược điểm RAID 0

Không có fault tolerance.

Chỉ cần một ổ trong array hỏng, toàn bộ array có thể mất khả năng truy cập.

Vì vậy, tôi không sử dụng RAID 0 cho dữ liệu production quan trọng nếu không có kiến trúc bảo vệ dữ liệu khác phù hợp.

RAID 1 là gì?

RAID 1 sử dụng Mirroring.

Hai ổ chứa các bản sao tương ứng của cùng dữ liệu.

Ví dụ:

2 × 4 TB → RAID 1 → khoảng 4 TB usable

Nếu một ổ hỏng, ổ còn lại vẫn chứa dữ liệu.

Ưu điểm RAID 1

  • cấu hình đơn giản;
  • khả năng chịu lỗi tốt trong cặp mirror;
  • đọc dữ liệu có thể được tối ưu;
  • rebuild tương đối đơn giản;
  • phù hợp với OS và workload nhỏ nhưng quan trọng.

Nhược điểm RAID 1

Nhược điểm lớn nhất là hiệu quả sử dụng dung lượng thấp.

2 × 4 TB raw = 8 TB

nhưng usable chỉ khoảng:

4 TB

Tức khoảng 50% dung lượng raw được sử dụng cho dữ liệu logic.

RAID 5 là gì?

RAID 5 sử dụng:

Striping + Distributed Parity

Yêu cầu tối thiểu:

3 ổ đĩa

Công thức dung lượng đơn giản:

Usable Capacity ≈ (N − 1) × dung lượng ổ nhỏ nhất

Ví dụ:

4 × 4 TB

Dung lượng raw:

16 TB

RAID 5 usable:

(4 − 1) × 4 TB = khoảng 12 TB

RAID 5 có thể chịu lỗi một ổ đĩa trong array.

Ưu điểm RAID 5

  • hiệu quả dung lượng tốt;
  • có khả năng chịu lỗi một ổ;
  • hiệu năng đọc tốt trong nhiều workload;
  • phù hợp với một số hệ thống file, archive hoặc workload đọc nhiều.

Nhược điểm RAID 5

Write performance có overhead do parity.

Điểm tôi quan tâm hơn là rebuild risk.

Khi một ổ hỏng, array chuyển sang trạng thái degraded.

Sau khi thay ổ mới, RAID phải đọc dữ liệu/parity từ các ổ còn lại để rebuild.

Với HDD dung lượng lớn, quá trình này có thể kéo dài đáng kể và tạo tải lớn lên các ổ còn lại.

Nếu thêm một ổ khác gặp lỗi trước khi rebuild hoàn tất, RAID 5 không còn đủ redundancy để duy trì array.

Vì vậy, tôi không mặc định RAID 5 là lựa chọn tối ưu chỉ vì nó tiết kiệm dung lượng.

RAID 6 là gì?

RAID 6 tương tự RAID 5 nhưng sử dụng Dual Parity.

Yêu cầu tối thiểu:

4 ổ đĩa

Công thức dung lượng:

Usable Capacity ≈ (N − 2) × dung lượng ổ nhỏ nhất

Ví dụ:

6 × 8 TB

Raw capacity:

48 TB

RAID 6 usable:

(6 − 2) × 8 TB = khoảng 32 TB

RAID 6 có thể chịu lỗi tối đa hai ổ đĩa trong điều kiện lỗi thuộc phạm vi RAID bảo vệ.

Ưu điểm RAID 6

  • fault tolerance cao hơn RAID 5;
  • phù hợp với array nhiều HDD;
  • an toàn hơn trong thời gian rebuild khi một ổ đã hỏng;
  • hiệu quả dung lượng thường tốt hơn mirroring khi số ổ lớn.

Nhược điểm RAID 6

  • mất dung lượng tương đương hai ổ;
  • write penalty cao hơn RAID 5;
  • parity calculation phức tạp hơn;
  • rebuild vẫn có thể kéo dài với HDD dung lượng lớn.

RAID 10 là gì?

RAID 10 hay RAID 1+0 kết hợp:

Mirroring + Striping

Yêu cầu tối thiểu thường là:

4 ổ đĩa

Ví dụ:

4 × 4 TB

Raw:

16 TB

RAID 10 usable:

khoảng 8 TB

Dữ liệu trước tiên được mirror thành các cặp, sau đó được stripe giữa các cặp mirror.

Có thể hình dung:

Disk 1 ↔ Disk 2

Disk 3 ↔ Disk 4

Sau đó dữ liệu được phân phối giữa hai mirror set.

Ưu điểm RAID 10

  • hiệu năng đọc/ghi tốt;
  • không có write penalty parity như RAID 5/6;
  • rebuild thường chỉ tập trung vào mirror pair liên quan;
  • phù hợp với workload I/O cao;
  • fault tolerance tốt.

Nhược điểm RAID 10

Nhược điểm lớn nhất là dung lượng.

Thông thường chỉ khoảng 50% raw capacity được sử dụng làm usable capacity.

Ngoài ra, khả năng chịu nhiều ổ lỗi phụ thuộc vào vị trí ổ hỏng.

RAID 10 có thể vẫn hoạt động khi nhiều ổ hỏng nếu chúng thuộc các mirror pair khác nhau, nhưng nếu cả hai thành viên của cùng một mirror pair hỏng, array có thể thất bại.

So sánh RAID 0, RAID 1, RAID 5, RAID 6 và RAID 10

RAID Số ổ tối thiểu Usable Capacity* Chịu lỗi Hiệu năng Ứng dụng
RAID 0 2 N × S 0 ổ Rất cao Scratch/temp
RAID 1 2 ~50% 1 ổ/cặp Tốt OS, server nhỏ
RAID 5 3 (N−1) × S 1 ổ Đọc tốt, ghi có parity penalty File/archive
RAID 6 4 (N−2) × S 2 ổ Đọc tốt, ghi có parity penalty cao hơn NAS, HDD array lớn
RAID 10 4 ~50% Phụ thuộc mirror pair Rất tốt Database, VM, workload I/O

N = số ổ; S = dung lượng ổ nhỏ nhất. Dung lượng hiển thị thực tế còn phụ thuộc cách nhà sản xuất và hệ điều hành tính TB/TiB, metadata và filesystem.

RAID 5 hay RAID 6 tốt hơn?

Không có câu trả lời đúng cho mọi hệ thống.

RAID 5 ưu tiên:

Capacity Efficiency

RAID 6 ưu tiên thêm:

Fault Tolerance

Nếu array có nhiều HDD dung lượng lớn, tôi thường thận trọng hơn với RAID 5 vì rebuild có thể kéo dài và hệ thống chỉ còn một lớp chịu lỗi.

RAID 6 hy sinh thêm dung lượng một ổ nhưng có dual parity.

Tuy nhiên, nếu workload yêu cầu write IOPS rất cao, cả RAID 5 và RAID 6 có thể không phải lựa chọn tối ưu.

Khi đó RAID 10 đáng được xem xét.

RAID 5 và RAID 10 khác nhau như thế nào?

Đây là câu hỏi tôi thường gặp khi thiết kế storage cho server.

Nếu ưu tiên:

Dung lượng → RAID 5 có lợi thế

Nếu ưu tiên:

Write performance + Rebuild + Latency → RAID 10 thường hấp dẫn hơn

Ví dụ:

4 × 4 TB

RAID 5:

~12 TB usable

RAID 10:

~8 TB usable

RAID 5 có thêm khoảng 4 TB usable.

Nhưng RAID 10 không cần tính parity trong đường ghi và thường phù hợp hơn với workload database/VM có nhiều random write.

RAID 6 và RAID 10: Nên chọn loại nào?

Tôi thường nhìn vào workload.

Nếu hệ thống là:

  • NAS;
  • file server;
  • archive;
  • backup repository;
  • capacity-oriented workload;

RAID 6 có thể phù hợp.

Nếu hệ thống là:

  • database;
  • virtualization;
  • ERP;
  • transaction workload;
  • workload nhiều random I/O;

RAID 10 thường đáng cân nhắc hơn.

Tuy nhiên, đây không phải quy tắc tuyệt đối. Với SSD/NVMe, controller, cache và workload hiện đại, cần benchmark và sizing dựa trên yêu cầu thực tế.

RAID Controller là gì?

RAID Controller là thành phần quản lý RAID Array.

Controller có thể xử lý:

  • RAID logic;
  • disk management;
  • cache;
  • rebuild;
  • monitoring;
  • hot spare;
  • battery/flash-backed write cache.

Trên server doanh nghiệp, thường gặp các RAID Controller chuyên dụng như các dòng:

Dell PERC

HPE Smart Array

Broadcom/LSI MegaRAID

Controller tốt có thể ảnh hưởng đáng kể đến hiệu năng và khả năng vận hành RAID.

Hardware RAID và Software RAID khác nhau thế nào?

Hardware RAID

RAID được xử lý bởi controller chuyên dụng.

Ưu điểm:

  • quản lý tập trung;
  • có cache chuyên dụng trên nhiều controller;
  • giảm phụ thuộc vào OS;
  • hỗ trợ nhiều tính năng enterprise.

Nhược điểm:

  • chi phí cao;
  • phụ thuộc controller;
  • khi controller hỏng cần quan tâm compatibility khi thay thế.

Software RAID

RAID được xử lý bởi hệ điều hành/software.

Ví dụ có thể sử dụng:

Linux mdadm

hoặc các công nghệ storage software-defined khác.

Ưu điểm:

  • linh hoạt;
  • không nhất thiết cần RAID Controller đắt tiền;
  • tận dụng CPU hiện đại.

Nhược điểm:

  • phụ thuộc nhiều hơn vào software stack;
  • yêu cầu administrator hiểu rõ kiến trúc;
  • khả năng boot/recovery và quản trị phụ thuộc giải pháp.

Software RAID không mặc định kém hơn Hardware RAID. Trong nhiều kiến trúc storage hiện đại, software-defined storage là lựa chọn có chủ đích.

Hot Spare là gì?

Hot Spare là ổ đĩa dự phòng được lắp sẵn trong hệ thống nhưng bình thường không chứa dữ liệu active của array.

Ví dụ:

6 ổ RAID 6 + 1 Hot Spare

Khi một ổ RAID hỏng:

Disk Failure → Hot Spare → Automatic Rebuild

Lợi ích là giảm thời gian từ lúc disk failure đến lúc quá trình rebuild bắt đầu.

Điều này đặc biệt hữu ích với server đặt trong Data Center nơi kỹ thuật viên không phải lúc nào cũng có thể thay ổ ngay lập tức.

Tuy nhiên:

Hot Spare không làm tăng số lớp parity/mirror của RAID.

Nó chỉ giúp hệ thống có sẵn ổ thay thế để bắt đầu rebuild nhanh hơn.

RAID Rebuild là gì?

Rebuild là quá trình tái tạo dữ liệu sang ổ mới sau khi một ổ trong RAID bị lỗi.

Ví dụ RAID 5:

Disk 3 Failure

↓

Replace Disk 3

↓

RAID Rebuild

Trong quá trình này, controller sử dụng dữ liệu và parity trên các ổ còn lại để tái tạo nội dung của Disk 3.

Đây là giai đoạn tôi đặc biệt quan tâm vì array đang ở trạng thái giảm khả năng chịu lỗi.

Với HDD dung lượng lớn, rebuild có thể kéo dài nhiều giờ hoặc lâu hơn tùy:

  • dung lượng ổ;
  • tốc độ ổ;
  • workload;
  • controller;
  • rebuild priority;
  • trạng thái các ổ còn lại.

RAID có làm server nhanh hơn không?

Có thể, nhưng tùy RAID level và workload.

RAID 0 và RAID 10 có thể cải thiện đáng kể khả năng xử lý I/O nhờ nhiều disk hoạt động song song.

RAID 5/6 cũng có lợi thế đọc song song nhưng thao tác ghi chịu overhead từ parity.

Ngoài RAID level, hiệu năng còn phụ thuộc:

HDD/SSD/NVMe + Controller + Cache + Stripe Size + Filesystem + Queue Depth + Workload

Vì vậy không thể nói đơn giản:

RAID 10 luôn nhanh gấp đôi RAID 1.

Hiệu năng phải được đánh giá trên workload cụ thể.

RAID có phải Backup không?

Không. RAID không phải Backup.

Đây là điểm quan trọng nhất của toàn bộ bài viết.

RAID chủ yếu bảo vệ Availability trước một số lỗi ổ đĩa.

RAID không bảo vệ đầy đủ trước:

  • xóa nhầm file;
  • ransomware;
  • malware;
  • filesystem corruption;
  • application corruption;
  • controller failure nghiêm trọng;
  • cháy;
  • mất cắp server;
  • thiên tai;
  • lỗi thao tác administrator.

Ví dụ bạn xóa:

customer-database.sql

RAID 1 sẽ rất “chính xác” trong việc xóa file đó khỏi cả hai mirror.

RAID không giữ lại phiên bản cũ để bạn phục hồi.

Đó là nhiệm vụ của:

Backup.

RAID + Backup mới là kiến trúc hợp lý

Một hệ thống production có thể được thiết kế:

Server
↓
RAID 10 Storage
↓
Backup NAS
↓
Cloud/Offsite Backup

RAID:

giúp server tiếp tục hoạt động khi một số disk gặp lỗi.

Backup:

giúp phục hồi dữ liệu.

Offsite:

giúp bảo vệ trước sự cố toàn site.

Ba lớp này giải quyết ba bài toán khác nhau.

Những sai lầm thường gặp khi triển khai RAID

Cho rằng RAID thay thế Backup

Đây là sai lầm nguy hiểm nhất.

RAID ≠ Backup.

Dùng RAID 0 cho dữ liệu quan trọng

RAID 0 có hiệu năng tốt nhưng không có redundancy.

Chọn RAID chỉ dựa vào dung lượng

Không nên chỉ tính:

RAID nào cho nhiều TB nhất?

Cần tính thêm:

  • IOPS;
  • latency;
  • write ratio;
  • rebuild time;
  • fault tolerance;
  • workload.

Dùng ổ khác dung lượng

Trong nhiều RAID truyền thống, dung lượng usable của từng ổ được giới hạn theo ổ nhỏ nhất.

Ví dụ:

2 TB + 4 TB + 4 TB

có thể khiến phần dung lượng vượt quá 2 TB của các ổ lớn không được khai thác trong RAID group theo cách thông thường.

Không theo dõi sức khỏe ổ đĩa

RAID không phải hệ thống “cấu hình một lần rồi quên”.

Administrator nên theo dõi:

  • SMART;
  • predictive failure;
  • media errors;
  • controller alerts;
  • RAID degradation;
  • rebuild status.

Kinh nghiệm lựa chọn RAID cho máy chủ

Khi khách hàng hỏi:

“Server này nên chạy RAID mấy?”

Tôi thường không trả lời ngay.

Trước tiên cần biết:

Server chạy workload gì?

Nếu là OS:

RAID 1 thường là lựa chọn đơn giản và hợp lý.

Nếu là database hoặc virtualization:

RAID 10 thường đáng cân nhắc vì hiệu năng random I/O và đặc tính rebuild.

Nếu là file/archive cần nhiều dung lượng:

RAID 5 hoặc RAID 6 có thể được xem xét tùy mức độ quan trọng, số lượng ổ và yêu cầu hiệu năng.

Nếu array có nhiều HDD dung lượng lớn và dữ liệu quan trọng:

Tôi thường ưu tiên đánh giá RAID 6 thay vì mặc định RAID 5.

Quan trọng nhất, RAID level phải được lựa chọn dựa trên:

Capacity + Performance + Fault Tolerance + Rebuild Risk + Cost

không phải chỉ dựa vào dung lượng usable.

Câu hỏi thường gặp về RAID

RAID 1 cần ít nhất bao nhiêu ổ?

Thông thường tối thiểu 2 ổ.

RAID 5 cần bao nhiêu ổ?

Tối thiểu 3 ổ.

RAID 6 cần bao nhiêu ổ?

Tối thiểu 4 ổ.

RAID 10 cần bao nhiêu ổ?

Thông thường tối thiểu 4 ổ và sử dụng số ổ phù hợp để tạo các mirror pair.

RAID nào nhanh nhất?

Không có câu trả lời tuyệt đối. RAID 0 có hiệu năng cao nhưng không có redundancy. Trong môi trường production cần cả hiệu năng và khả năng chịu lỗi, RAID 10 thường là một lựa chọn đáng cân nhắc.

Ổ SSD có cần RAID không?

Có thể. SSD vẫn có khả năng hỏng. RAID với SSD có thể được sử dụng để đáp ứng yêu cầu availability, performance hoặc capacity. Tuy nhiên cần xem xét endurance, controller, TRIM/UNMAP, workload và kiến trúc storage.

Có RAID rồi có cần Backup không?

Có.

RAID và Backup giải quyết hai bài toán khác nhau.

Kết luận

RAID là công nghệ kết hợp nhiều ổ đĩa thành một hệ thống lưu trữ logic nhằm tối ưu một hoặc nhiều yếu tố gồm hiệu năng, dung lượng và khả năng chịu lỗi.

Các RAID level phổ biến gồm:

RAID 0 → Hiệu năng, không redundancy

RAID 1 → Mirroring, đơn giản và an toàn hơn trước lỗi một ổ trong cặp

RAID 5 → Hiệu quả dung lượng + chịu lỗi một ổ

RAID 6 → Dual parity + chịu lỗi hai ổ

RAID 10 → Hiệu năng + mirroring, phù hợp nhiều workload I/O cao

Từ góc nhìn triển khai server, tôi không cho rằng tồn tại một RAID level “tốt nhất”.

Lựa chọn đúng phải dựa trên:

Workload → IOPS/Latency → Capacity → Fault Tolerance → Rebuild → Cost

Và quan trọng nhất:

RAID không phải Backup.

Một hệ thống dữ liệu quan trọng nên kết hợp RAID + Backup + Offsite/Cloud Backup để vừa duy trì khả năng hoạt động khi ổ đĩa gặp lỗi, vừa có khả năng phục hồi khi dữ liệu bị xóa, mã hóa hoặc hệ thống gặp sự cố nghiêm trọng.

Nếu doanh nghiệp cần tư vấn RAID, ổ cứng HDD/SSD, máy chủ, Storage, NAS, Backup, thuê máy chủ hoặc thuê chỗ đặt máy chủ, có thể liên hệ VDO – Hotline 1900 0366 để được tư vấn cấu hình dựa trên workload và yêu cầu vận hành thực tế.

Từ khóa liên quan: RAID 0, RAID 1, RAID 5, RAID 6, RAID 10, RAID Server, RAID Controller, RAID ổ cứng, Hot Spare, parity, RAID HDD, RAID SSD, RAID rebuild.

Rate this post
0/5 (0 Reviews)

Leave a Reply